import type { RNTesterModuleInfo } from '../types/RNTesterTypes';

const Components: Array<RNTesterModuleInfo> = [
  {
    key: 'react-native-localize',
    category: 'Tools',
    module: require('../examples/react-native-localize/LocalizeDemo').default,
  },
  {
    key: 'ReactNativeOrientationLockerExample',
    category: 'UI',
    module: require('../examples/react-native-orientation-locker/OrientationLockerExample')
  },
  {
    key: 'react-native-webview',
    category: 'Basic',
    module: require('../examples/react-native-webview/tests/WebViewTest'),
  },
  {
    key: 'react-native-fs',
    category: 'Basic',
    module: require('../examples/react-native-fs/Index'),
  },
  {
    key: 'react-native-blob-util',
    category: 'Basic',
    module: require('../examples/react-native-blob-util/testCase/blobTest/index'),
  },
  {
    key: 'LinearGradient',
    category: 'UI',
    module: require('../examples/react-native-linear-gradient/LinearGradientDemo-CAPI').default,
  },
  {
    key: 'lottie-react-native',
    category: 'UI',
    module: require('../examples/lottie-react-native/test/LottieTest'),
  },
  {
    key: 'react-native-sound',
    category: 'Basic',
    module: require('../examples/react-native-sound/TextSound'),
  },
  {
    key: 'react-native-community-netinfo',
    category: 'Basic',
    module: require('../examples/react-native-community-netinfo/test/NetInfoTest'),
  },
  {
    key: 'react-native-cameraroll',
    category: 'basic',
    module: require('../examples/react-native-cameraroll/test/CamerarollTest'),
  },
  {
    key: 'async-storage',
    category: 'Basic',
    module: require('../examples/react-native-async-storage-async-storage/Index'),
  },
  {
    key: 'react-native-gesture-handler',
    category: 'UI',
    module: require('../examples/react-native-gesture-handler/App').default,
  },
];

const APIs: Array<RNTesterModuleInfo> = [
];

const Modules: any = {};

APIs.concat(Components).forEach(Example => {
  Modules[Example.key] = Example.module;
});

const RNTesterList = {
  APIs,
  Components,
  Modules,
};

export default RNTesterList;
